import json
import os
import tkinter as tk
from tkinter import filedialog

def remove_label_from_jsonl(jsonl_file_path):
    """删除每个 JSONL 数据中的 'Label': 'BENIGN' 属性，并保存到新的文件中"""
    # 新文件名，包含 'modified' 标注
    new_file_path = os.path.splitext(jsonl_file_path)[0] + "_modified.jsonl"
    
    with open(jsonl_file_path, mode='r', encoding='utf-8') as jsonl_file, \
         open(new_file_path, mode='w', encoding='utf-8') as new_jsonl_file:
        
        # 逐行读取 JSONL 文件
        for line in jsonl_file:
            # 解析每行的 JSON 数据
            data = json.loads(line)
            
            # 删除 'Label' 字段（如果存在）
            if ' Label' in data:
                del data[' Label']
            
            # 将修改后的数据写入新文件
            new_jsonl_file.write(json.dumps(data, ensure_ascii=False) + '\n')

    print(f"转换完成，新的文件已保存为: {new_file_path}")

def select_file():
    """打开文件选择对话框"""
    file_path = filedialog.askopenfilename(filetypes=[("JSONL 文件", "*.jsonl")])
    if file_path:
        remove_label_from_jsonl(file_path)

# 创建 GUI
root = tk.Tk()
root.title("JSONL 文件处理工具")
root.geometry("300x150")

label = tk.Label(root, text="选择 JSONL 文件进行处理", padx=10, pady=10)
label.pack()

btn = tk.Button(root, text="选择文件", command=select_file)
btn.pack()

root.mainloop()
